package com.songlanyun.modules.usercard.mobel;

import com.songlanyun.common.drive.ValueObject;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
public class UserCardDto implements ValueObject {

    /**
     * 银行卡对应的预留手机号 String(11)
     */
    @NotBlank(message = "请填写银行卡对应的预留手机号")
    @Length(min = 11, max = 11, message = "手机号必须是11位")
    private String telNo;
    /**
     * 银行卡卡号，只能是数字，长度范围为8~32个字符 String(32)
     */
    @NotBlank(message = "请填写银行卡卡号")
    @Length(min = 8, max = 32, message = "银行卡卡号8-32位")
    private String cardId;
    /**
     * 是否是信用卡
     */
    @NotNull(message = "选择是否是信用卡")
    private Boolean credit;
    /**
     * 信用卡验证码，若银行卡为信用卡时必填，银行卡背面签名条末三位 String(3)
     */
    @Length(min = 0, max = 3, message = "背面签名条末3位")
    private String vipCode;
    /**
     * 信用卡有效期，若银行卡为信用卡时必填 String(4)
     */
    @Length(min = 0, max = 4, message = "信用卡有效期4位")
    private String expiration;
    /**
     * 招行借记卡绑卡需要上送；示例值：34463343
     */
    private String protocolNo;

    /**
     * 银行名称
     */
    private String localBankName;

    /**
     * 银行名称对应的标记
     */
    private String localBankMark;

    /**
     * 银行卡的类型
     */
    private String localBankCardType;

    /**
     * 银行卡类型的名称
     */
    private String localBankCardTypeName;


}
